# -*- coding: utf-8 -*-
# @Time: 2025/8/9 13:53
# @Author: foxhuty
# @File: jieba_notes.py

import jieba
from anyio.streams import file
from wordcloud import WordCloud
import time

# 分词
# seg_list = jieba.lcut("我是一个中国人")
# print("Default Mode: " + "/ ".join(seg_list))  # 全模式
#
# seg_list = jieba.cut("我是一个中国人", cut_all=True)
# print("Full Mode: " + "/ ".join(seg_list))  # 全模式
#
# seg_list = jieba.cut("我是一个中国人")
# print("Default Mode: " + "/ ".join(seg_list))  # 全模式
#
# seg_list = jieba.cut_for_search("我是一个中国人")
# print("Search Mode: " + "/ ".join(seg_list))  # 搜索引擎模式

txt = """
根据教育部《关于进一步加强中小学班主任工作的意见》，中小学班主任是中小学教师队伍的重要组成部分，是班级工作的组织者、班集体建设的指导者、中小学生健康成长的引领者，是中小学思想道德教育的骨干，是沟通家长和社区的桥梁，是实施素质教育的重要力量。中小学班主任工作是学校教育中极其重要的育人工作，既是一门科学、也是一门艺术。在普遍要求全体教师都要努力承担育人工作的情况下，班主任的责任更重，要求更高。做班主任和授课一样都是中小学的主业。加强中小学班主任工作，对于贯彻党的教育方针，全面推进素质教育，把加强和改进未成年人思想道德建设的各项任务落在实处，具有十分重要的意义。
中小学班主任工作面临许多新问题、新挑战。经济社会的深刻变化、教育改革的不断深化、中小学生成长的新情况新特点，对中小学班主任工作提出了更高的要求，迫切需要制定更加有效的政策，保障和鼓励中小学教师愿意做班主任，努力做好班主任工作;迫切需要采取更加有力的措施，保障和鼓励班主任有更多的时间和精力了解学生、分析学生学习生活成长情况，以真挚的爱心和科学的方法教育、引导、帮助学生成长进步。
要提高中小学班主任的地位和待遇。班主任工作是中小学教育中特殊重要的岗位，中小学校要在教师中营造以从事班主任工作为荣的氛围。要将班主任工作记入工作量，并提高班主任工作量的权重。各地要根据实际，努力改善班主任的待遇，完善津贴发放办法。要适当安排班主任的教学任务，使他们既能上好课又能做好班主任工作。鼓励广大中小学校普遍重视和加强班主任队伍建设，充分发挥班主任在学校教育工作中的重要作用，使班主任工作成为广大学校教师踊跃担当的光荣而重要的岗位。

"""
file_path = r'D:\transferreddata\新建文件夹\少妇白洁.txt'


def get_jieba_words(txt_file):
    try:
        with open(txt_file, 'r', encoding='gbk') as f:
            jieba_txt = f.read()
    except:
        jieba_txt = txt_file
    jieba_lst_words = jieba.lcut(jieba_txt, cut_all=False)
    new_jieba_lst_words = []
    for word in jieba_lst_words:
        if len(word.strip()) == 1:
            continue
        else:
            new_jieba_lst_words.append(word)
    return new_jieba_lst_words


def get_wordcloud(file):
    jieba_words = get_jieba_words(file)
    wordcloud_txt = ' '.join(jieba_words)
    wordcloud = WordCloud(font_path='msyh.ttc', width=1000, height=800).generate_from_text(wordcloud_txt)
    wordcloud.to_file(f"{time.time()}.png")


# print(wordcloud_txt)
def get_word_count(txt_file, word_frequency):
    jieba_words = get_jieba_words(txt_file)
    word_count = {}
    for word in jieba_words:
        if len(word) == 1:
            continue
        else:
            word_count[word] = word_count.get(word, 0) + 1

    # 打印每个单词的出现次数
    for word, count in word_count.items():
        print(f"{word}: {count}")
    items = list(word_count.items())
    # print(items)
    items.sort(key=lambda x: x[1], reverse=True)
    print(items)
    for i in range(word_frequency):
        word, count = items[i]
        print(f"{word}: {count}")


if __name__ == '__main__':
    get_word_count(txt, 20)
    get_wordcloud(txt)
